package rescsa.gob.pe.solicitudrequerimiento.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;



import com.opensymphony.xwork2.ActionSupport;


public class BajarArchivoAction extends ActionSupport  {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String filename;
	 
	 /*result property fields*/
	 private InputStream inputStream;
	 private int   contentLength;
	 private String   contentDisposition;
	 
	 @Override
	 public String execute()throws Exception {
	  if(filename != null){
	   download();
	  }
	  return SUCCESS;
	 }

	 public void download()throws Exception {
	     /*form param으로 설정된 파일을 받는다.*/
		 System.out.println("llego para abrirse");
	    //String encFile = filename;
	   
	    /*encFile를 실제 파일로 객체를 생성한다.*/
	    File file = new File(filename);//esta es la variable que viene del strtus.xml
	   
	    /*contentLength를 설정한다.
	     * 설정하지 않으면  다운로드 되지 않는다.
	     * */
	    setContentLength((int)file.length());
	   
	    /*어떤 파일이든지 다운로드가 되도록 어터치한다.*/
	    setContentDisposition("attachment;filename=" + filename+";");
	   
	    /*실제 다운로드를 받기 위해 스트림한다.*/
	    setInputStream(new FileInputStream(filename));//se setea en un inputstream para que se obtenga los bytes del archivo
	 }
	 //y na mas XZ ahora lo corro mira
	 public String getFilename() {
	  return filename;
	 }

	 public void setFilename(String filename) {
	  this.filename = filename;
	 }

	 public InputStream getInputStream() {
	  return inputStream;
	 }

	 public void setInputStream(InputStream inputStream) {
	  this.inputStream = inputStream;
	 }

	 public int getContentLength() {
	  return contentLength;
	 }

	 public void setContentLength(int contentLength) {
	  this.contentLength = contentLength;
	 }

	 public String getContentDisposition() {
	  return contentDisposition;
	 }

	 public void setContentDisposition(String contentDisposition) {
	  this.contentDisposition = contentDisposition;
	 }
	
	}
	
	
 




